﻿using System;

namespace Lesson1_封装_类与对象
{
    #region 一 什么是类
    //具有相同特征 相同行为的一类事物的抽象
    //类是对象的模版
    //可以通过类实例化对象
    //类的关键字
    #endregion

    #region 二 申明类的语法
    //class 类名
    //{
    //    特征——成员变量
    //    行为——成员方法
    //    保护特征——成员属性
    //
    //    构造函数和析构函数
    //    索引器
    //    运算符重载
    //    静态成员
    //}
    #endregion

    #region 三 申明类的实例
    //同一个语句块中的不同类 不能重名
    class Person
    {

    }
    #endregion

    #region 四 什么是(类)对象
    //类的申明与类的对象的申明 是两个概念
    //类的申明 类似枚举和结构体的申明
    //而对象是类创建出来的
    //相当于申明一个指定类的变量
    //类创建对象的过程 一般称为实例化对象
    //类对象是引用类型
    #endregion
    class Program
    {
        static void Main(string[] args)
        {
            #region 实例化对象基本语法
            //类名 变量名;(固定为null)
            //类名 变量名 = null;
            //类名 变量名 = new 类名();
            //new 类名()称为对象初始化器 可用于简化代码 具体可见Lesson10_练习题 练习二
            #endregion

            #region 实例化对象
            Person p1;              //空值 不会在堆中分配空间
            Person p2 = null;       //空值 不会在堆中分配空间
            Person p3 = new Person();
            #endregion

            //总结
            //类的申明与类对象的申明是两个概念
            //类的申明是申明了类对象的模板 用来抽象(形容)类对象
            //类对象的申明是套用类对象的模板 申明一个具体的对象
            //类似于结构体
        }
    }
}